Personnel
Overall Objectives
Research Program
Application Domains
Highlights of the Year
New Software and Platforms
New Results
Bilateral Contracts and Grants with Industry
Partnerships and Cooperations
Dissemination
Bibliography
XML PDF e-pub
PDF e-Pub


Section: New Results

The Clem Workflow

Participants : Annie Ressouche, Daniel Gaffé, Dorine Havyarimana.

Keywords: Synchronous languages, Synchronous Modeling, Model checking, Mealy machine, Logical Decision Diagram

Figure 33. The Clem Toolkit
IMG/clem-toolkit-2017.png

This research axis concerns the theoretical study of a synchronous language le with modular compilation and the development of a toolkit around the language (see Figure 33) to design, simulate, verify, and generate code for programs. The novelty of the approach is the ability to manage both modularity and causality.

This year, we continued to focus on the improvement of both the le language and compiler concerning data handling and generation of back-ends, required by other research axis of the team. We also improved the design of the simulator (developped these two last years) for le programs which integrates the data part of the language. The simulator GUI has been designed in Qt. The simulator takes into account the values carried by signals. We implemented an external computation of data values and a communication between the compiler and the simulator through a socket mechanism. However, in this first implementation, there were no predefined types and their related methods. As a consequence, the end user must define them in external files, loaded by the simulator. To avoid the definition of such files for basic types (integer, real,...) and basic operations (, =, ,...), this year we improved the simulator and the exchange mechanism to be able to integrate predefined types.

Now, we want to extend the verification side of clem . To this aim, this year we begin to replace the fundamental representation of Boolean values as BDD (Binary Decision Diagrams) with LDD (Logical Decision Diagrams), which allow to encode integer values in a very efficient way. During the internship of Dorine Havyarimana [41], such a LDD library has been implemented, to replace the BDD one. Then the validation mechanism of clem would take into account properties of integer data. However, this is a first step and the integration of a new model checking techniques (like satisfiability modulo theories model checking) is a future work.